package com.steel.yfmall.cloud.assistant.view;

import com.steel.yfmall.cloud.assistant.dto.para.view.ParaReceivingGoodsBean;
import com.steel.yfmall.cloud.assistant.dto.zg.ZgViewBean;
import com.steel.yfmall.cloud.assistant.po.view.ReceivingGoodsBean;
import com.steel.yfmall.cloud.components.utils.base.APIMsgBean;
import com.steel.yfmall.cloud.components.utils.base.Pages;

import java.util.List;

/**
 * 收货人管理数据同步
 *
 * @author jia chang bao
 * @date 2020/11/10 13:41
 */
public interface ReceivingGoodsBeanService {
    /**
     * @param paraReceivingGoodsBean 查询参数
     * @return long 总条数
     * @Description 查询收货人资料总条数
     * @author jia chang bao
     * @date 2020/11/10 13:45
     */
    long getReceivingGoodsBeanCount(ParaReceivingGoodsBean paraReceivingGoodsBean);

    /**
     * @param paraReceivingGoodsBean 查询参数
     * @return ServiceDataBean<Pages < ReceivingGoodsBean>> 分页查询结果
     * @Description 分页查询收货人资料信息（分页）
     * @author jia chang bao
     * @date 2020/11/10 13:48
     */
    Pages<ReceivingGoodsBean> getReceivingGoodsBeanOfPage(ParaReceivingGoodsBean paraReceivingGoodsBean);

    /**
     * @param paraReceivingGoodsBean 查询参数
     * @return List<ParaReceivingGoodsBean> 结果集合
     * @Description 不分页查询收货人资料信息（不分页）
     * @author jia chang bao
     * @date 2020/11/10 13:50
     */
    List<ReceivingGoodsBean> getReceivingGoodsBeanOfList(ParaReceivingGoodsBean paraReceivingGoodsBean);

    /**
     * @param receivingGoodsBeans 参数信息
     * @return int 受影响行数
     * @Description 新增收货人信息资料（批量）
     * @author jia chang bao
     * @date 2020/11/10 13:51
     */
    int addReceivingGoodsBeanOfList(List<ReceivingGoodsBean> receivingGoodsBeans);

    /**
     * @param paraReceivingGoodsBean 修改参数信息
     * @return int 受影响行数
     * @Description 修改收货人信息资料
     * @author jia chang bao
     * @date 2020/11/10 13:53
     */
    int updataReceivingGoodsBean(ReceivingGoodsBean receivingGoodsBean);

    /**
     * @param paraReceivingGoodsBean 参数信息
     * @return int 受影响行数
     * @Description 删除收货人信息资料（单条）
     * @author jia chang bao
     * @date 2020/11/10 13:54
     */
    int deleteReceivingGoodsBean(ParaReceivingGoodsBean paraReceivingGoodsBean);

    /**
     * @param paraReceivingGoodsBeans 参数信息
     * @return int 受影响行数
     * @Description 删除收货人信息资料（批量）
     * @author jia chang bao
     * @date 2020/11/10 13:55
     */
    int deleteReceivingGoodsBeanOfList(List<ParaReceivingGoodsBean> paraReceivingGoodsBeans);

    /**
     * @return 同步成功信息数据
     * @Description 同步中冠收货人信息
     * @author jia chang bao
     * @date 2020/11/9 20:37
     * @param zgViewBean
     */
    APIMsgBean synchronizationZgeCustomerSettlement(ZgViewBean zgViewBean);

    /**
     * 查询用户收货地址信息
     * @Title: getReceivingGoodsBeanByPara
     * @Description: (这里用一句话描述这个方法的作用)
     * @Param paraBean 参数说明
     * @return com.steel.yfmall.cloud.assistant.po.view.ReceivingGoodsBean    返回类型
     * @author yuchaohua
     * @date 2021/1/21 23:28
     */
    ReceivingGoodsBean getReceivingGoodsBeanByPara(ParaReceivingGoodsBean paraBean);
}
